home *** CD-ROM | disk | FTP | other *** search
Wrap
ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((1111 AAAAuuuugggguuuusssstttt 1111999999995555)))) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) NNNNAAAAMMMMEEEE dtcodegen - generate code from a CDE application building services project or module file SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ddddttttccccooooddddeeeeggggeeeennnn [[[[----cccchhhhaaaannnnggggeeeedddd]]]] [[[[----mmmmaaaaiiiinnnn]]]] [[[[----mmmmeeeerrrrggggeeee]]]] [[[[----nnnnoooommmmeeeerrrrggggeeee]]]] [[[[----mmmmoooodddduuuulllleeee _m_y_m_o_d]]]] [[[[----pppp||||----pppprrrroooojjjjeeeecccctttt _m_y_p_r_o_j]]]] [[[[----nnnnpppp||||----nnnnoooopppprrrroooojjjjeeeecccctttt]]]] [[[[----sssshhhhoooowwwwaaaallllllll]]]] [[[[----nnnnoooosssshhhhoooowwwwaaaallllllll]]]] [[[[----ssss||||----ssssiiiilllleeeennnntttt]]]] [[[[----vvvv||||----vvvveeeerrrrbbbboooosssseeee]]]] [[[[_f_i_l_e ............]]]] ddddttttccccooooddddeeeeggggeeeennnn ----hhhheeeellllpppp DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN The ddddttttccccooooddddeeeeggggeeeennnn utility reads Builder Interface Language (BIL) files created by the CDE application building services graphical user interface and produces C, Motif and CDE source code for the user interface and application elements defined. The BIL files supplied can be individual module files (files with a ....bbbbiiiillll suffix) or a project file (files with a ....bbbbiiiipppp suffix) that contains references to zero or more module files. OOOOPPPPTTTTIIIIOOOONNNNSSSS The following options are available: ----cccchhhhaaaannnnggggeeeedddd Generate only source code for those modules that have changed since the last time ddddttttccccooooddddeeeeggggeeeennnn was run. ----hhhheeeellllpppp Write a help message to standard output explaining all ddddttttccccooooddddeeeeggggeeeennnn options and then terminate. ----mmmmaaaaiiiinnnn Produce the project files associated with the application's mmmmaaaaiiiinnnn() routine. ----mmmmeeeerrrrggggeeee Merge generated stubs files with previous versions, perpetuating changes made or custom edits done to the previous stubs file. This is the default behavior. ----nnnnoooommmmeeeerrrrggggeeee Do not merge existing and new ____ssssttttuuuubbbbssss....cccc files. This option overrides the default merging behavior. If both ----mmmmeeeerrrrggggeeee and ----nnnnoooommmmeeeerrrrggggeeee are used, the one given last on the command line takes precedence. ----mmmmoooodddduuuulllleeee _m_y_m_o_d Generate code for the module _m_y_m_o_d, (which is expected to be defined in the file _m_y_m_o_d ....bbbbiiiillll). Page 1 (printed 11/11/03) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((1111 AAAAuuuugggguuuusssstttt 1111999999995555)))) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) Using multiple ----mmmmoooodddduuuulllleeee options includes multiple modules in the generated code. ----pppp||||----pppprrrroooojjjjeeeecccctttt _m_y_p_r_o_j Generate code for the project _m_y_p_r_o_j, (which is expected to be defined in the file _m_y_p_r_o_j ....bbbbiiiipppp). ----nnnnoooopppprrrroooojjjjeeeecccctttt Ignore the _p_r_o_j_e_c_t....bbbbiiiipppp project file and use default project settings instead. This is useful in producing an application from one or a few module files (for example, for testing) as an alternative to generating the entire project. ----sssshhhhoooowwwwaaaallllllll Cause the generated application to show (map) all application windows (main windows and dialogs) at startup, ignoring whether they are set to be initially visible or not. If no project is specified on the command line, either by using ----pppprrrroooojjjjeeeecccctttt or by specifying a _p_r_o_j_e_c_t ....bbbbiiiipppp file as an operand, ddddttttccccooooddddeeeeggggeeeennnn performs as if ----sssshhhhoooowwwwaaaallllllll had been specified. (The ----nnnnoooosssshhhhoooowwwwaaaallllllll option suppresses this behavior). ----nnnnoooosssshhhhoooowwwwaaaallllllll Cause the generated application to show at startup (map) only those windows (main windows and dialogs) whose initially visible attribute is true. If a project is specified on the command line, either by using ----pppprrrroooojjjjeeeecccctttt or by specifying a _p_r_o_j_e_c_t ....bbbbiiiipppp file as an operand, ddddttttccccooooddddeeeeggggeeeennnn performs as if ----nnnnoooosssshhhhoooowwwwaaaallllllll had been specified. (The ----sssshhhhoooowwwwaaaallllllll option suppresses this behavior). ----ssss||||----ssssiiiilllleeeennnntttt Work silently, producing no output except error messages while generating source code. ----vvvv||||----vvvveeeerrrrbbbboooosssseeee Be more verbose in providing progress and status messages during the generation of source code. OOOOPPPPEEEERRRRAAAANNNNDDDDSSSS The following operand is supported: _f_i_l_e A pathname of a project or module file. It is not necessary to specify the ....bbbbiiiipppp or ....bbbbiiiillll extension for any file because ddddttttccccooooddddeeeeggggeeeennnn uses a sequence of search algorithms in the current directory to determine what files should be read in order to satisfy the specified command line. Page 2 (printed 11/11/03) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((1111 AAAAuuuugggguuuusssstttt 1111999999995555)))) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) If no _f_i_l_e operands are given, ddddttttccccooooddddeeeeggggeeeennnn searches the current directory for a project file (a file with a ....bbbbiiiipppp suffix). If one is found, it is used as if it had been specified on the command line. If more than one is found, the first one encountered is used. If one or more _f_i_l_e operands are specified, ddddttttccccooooddddeeeeggggeeeennnn checks to see if any of them is a project file in the current working directory, and uses the first one found. If none of the _f_i_l_e operands are project files, then the directory is searched for a project file. This search is similar to the no- operand case, but is modified to look for a project file that contain modules corresponding to other _f_i_l_e operands. Operands other than the project file are taken to be module names. See the EXAMPLES section for more on the interpretation of filename operands and how the search features of ddddttttccccooooddddeeeeggggeeeennnn may be used. RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS None. SSSSTTTTDDDDIIIINNNN Not used. IIIINNNNPPPPUUUUTTTT FFFFIIIILLLLEEEESSSS All input files are text files in the BIL format. See _B_I_L(4). EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT VVVVAAAARRRRIIIIAAAABBBBLLLLEEEESSSS The following environment variables affect the execution of ddddttttccccooooddddeeeeggggeeeennnn: _L_A_N_G Provide a default value for the internationalization variables that are unset or null. If _L_A_N_G is unset or null, the corresponding value from the implementation-specific default locale will be used. If any of the internationalization variables contains an invalid setting, the utility behaves as if none of the variables had been defined. _L_C__A_L_L If set to a non-empty string value, override the values of all the other internationalization variables. Page 3 (printed 11/11/03) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((1111 AAAAuuuugggguuuusssstttt 1111999999995555)))) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) _L_C__M_E_S_S_A_G_E_S Determine the locale that is used to affect the format and contents of diagnostic messages written to standard error and informative messages written to standard output. _N_L_S_P_A_T_H Determine the location of message catalogues for the processing of _L_C__M_E_S_S_A_G_E_S. AAAASSSSYYYYNNNNCCCCHHHHRRRROOOONNNNOOOOUUUUSSSS EEEEVVVVEEEENNNNTTTTSSSS The ddddttttccccooooddddeeeeggggeeeennnn utility takes the standard action for all signals. SSSSTTTTDDDDOOOOUUUUTTTT When ----hhhheeeellllpppp is specified, ddddttttccccooooddddeeeeggggeeeennnn writes to standard output a usage message in an unspecified format. Otherwise, standard output is not used. SSSSTTTTDDDDEEEERRRRRRRR When ----vvvveeeerrrrbbbboooosssseeee is specified, ddddttttccccooooddddeeeeggggeeeennnn writes to standard error informational progress messages and diagnostic messages in an unspecified format. Otherwise, standard error is used only for diagnostic messages. OOOOUUUUTTTTPPPPUUUUTTTT FFFFIIIILLLLEEEESSSS The ddddttttccccooooddddeeeeggggeeeennnn utility produces the following files: _m_o_d_n_a_m_e____uuuuiiii....cccc The primary source code file for module _m_o_d_n_a_m_e, containing C code to create the objects in the module and establish connections for those objects. _m_o_d_n_a_m_e____uuuuiiii....hhhh Declarations and C externs for module _m_o_d_n_a_m_e. _m_o_d_n_a_m_e____ssssttttuuuubbbbssss....cccc Callback functions for the element handlers specific to module _m_o_d_n_a_m_e. _p_r_o_j_e_c_t....cccc If ddddttttccccooooddddeeeeggggeeeennnn is generating code for a project, this file contains mmmmaaaaiiiinnnn() plus any callback functions that are common across modules. _p_r_o_j_e_c_t....hhhh If ddddttttccccooooddddeeeeggggeeeennnn is generating code for a project, this file contains declarations for any callback functions and C externs that are common across interfaces. ....ddddttttccccooooddddeeeeggggeeeennnn....lllloooogggg Page 4 (printed 11/11/03) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((1111 AAAAuuuugggguuuusssstttt 1111999999995555)))) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) A record of per-module code generation and the date and time of each module as it was processed. This data is required to provide support for the ----cccchhhhaaaannnnggggeeeedddd option as part of determining which files need to be regenerated and which ones do not. Additional application code should be added to the _m_o_d_n_a_m_e____ssssttttuuuubbbbssss....cccc, _p_r_o_j_e_c_t....cccc and _p_r_o_j_e_c_t....cccc files, as appropriate, because their contents are merged across runs of ddddttttccccooooddddeeeeggggeeeennnn. EEEEXXXXTTTTEEEENNNNDDDDEEEEDDDD DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN None. EEEEXXXXIIIITTTT SSSSTTTTAAAATTTTUUUUSSSS The following exit values are returned: 0 successful completion >0 an error occurred CCCCOOOONNNNSSSSEEEEQQQQUUUUEEEENNNNCCCCEEEESSSS OOOOFFFF EEEERRRRRRRROOOORRRRSSSS Because code generation involves the sequential production of a set of application files, errors that cause the ddddttttccccooooddddeeeeggggeeeennnn utility to exit prematurely also may result in some module or project source files having been generated while others were not. Attempts to build the application from this mix of new and old generated code produce undefined results. AAAAPPPPPPPPLLLLIIIICCCCAAAATTTTIIIIOOOONNNN UUUUSSSSAAAAGGGGEEEE Typically the ddddttttccccooooddddeeeeggggeeeennnn utility is used indirectly through the CDE Application Builder's Code Generator dialog. This allows application code to be generated while the user is working with the Application Builder rather than through a separate interface or shell command line. The Code Generator dialog provides a graphical user interface for ddddttttccccooooddddeeeeggggeeeennnn that makes it easy to generate code, build the resulting application and then execute it. In some cases, however, it may be desirable to use the ddddttttccccooooddddeeeeggggeeeennnn utility directly. A common example of this usage is to employ the code generator from within an application Makefile to produce a portion of the application code from pre-existing project or module files. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS Run the code generator on the application defined by the project file mmmmyyyypppprrrroooojjjjeeeecccctttt....bbbbiiiipppp: ddddttttccccooooddddeeeeggggeeeennnn ----pppp mmmmyyyypppprrrroooojjjjeeeecccctttt Page 5 (printed 11/11/03) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((1111 AAAAuuuugggguuuusssstttt 1111999999995555)))) ddddttttccccooooddddeeeeggggeeeennnn((((1111)))) Run the code generator for the project mmmmyyyypppprrrroooojjjjeeeecccctttt....bbbbiiiipppp, but only generate code for the module mmmmoooodddduuuulllleeeennnnaaaammmmeeee....bbbbiiiillll: ddddttttccccooooddddeeeeggggeeeennnn mmmmyyyypppprrrroooojjjjeeeecccctttt....bbbbiiiipppp mmmmoooodddduuuulllleeeennnnaaaammmmeeee Search the current working directory for a project file that references the module mmmmyyyymmmmoooodddduuuulllleeee and then silently generate code for just that module: ddddttttccccooooddddeeeeggggeeeennnn ----ssssiiiilllleeeennnntttt mmmmyyyymmmmoooodddduuuulllleeee In the following example: ddddttttccccooooddddeeeeggggeeeennnn nnnnaaaammmmeeee1111 nnnnaaaammmmeeee2222 if the project file nnnnaaaammmmeeee1111....bbbbiiiipppp exists, it is used and code is generated for module nnnnaaaammmmeeee2222....bbbbiiiillll. Otherwise, both nnnnaaaammmmeeee1111 and nnnnaaaammmmeeee2222 are taken as the name of modules, the current working directory is searched for a project file that references both modules, and code for those two modules is generated. Run the code generator, which searches the current working directory for a project file to be processed, and generates all code associated with that project: ddddttttccccooooddddeeeeggggeeeennnn Generate just the files associated with the main routine for the project mmmmyyyypppprrrroooojjjjeeeecccctttt, namely mmmmyyyypppprrrroooojjjjeeeecccctttt....cccc and mmmmyyyypppprrrroooojjjjeeeecccctttt....hhhh: ddddttttccccooooddddeeeeggggeeeennnn ----mmmmaaaaiiiinnnn ----pppp mmmmyyyypppprrrroooojjjjeeeecccctttt Search the current working directory for a project file and, if one is found, generate code for only those modules that have changed since the code generator was last run: ddddttttccccooooddddeeeeggggeeeennnn ----cccchhhhaaaannnnggggeeeedddd Generate, for the project mmmmyyyypppprrrroooojjjjeeeecccctttt....bbbbiiiipppp, code only for those modules among the set mmmmoooodddduuuulllleeee1111, mmmmoooodddduuuulllleeee2222 and mmmmoooodddduuuulllleeee3333 that have changed since the last time the code generator was run: ddddttttccccooooddddeeeeggggeeeennnn ----cccchhhhaaaannnnggggeeeedddd ----pppp mmmmyyyypppprrrroooojjjjeeeecccctttt mmmmoooodddduuuulllleeee1111 mmmmoooodddduuuulllleeee2222 mmmmoooodddduuuulllleeee3333 SSSSEEEEEEEE AAAALLLLSSSSOOOO ddddttttbbbbuuuuiiiillllddddeeeerrrr(1), _B_I_L(4). Page 6 (printed 11/11/03)